Computer systems are highly useful for compiling and assimilating large amounts of data. Computer systems frequently include graphic capabilities which allow the display and printing of graphic images. Printing a page of text and/or graphics images on a laser printer, for example, requires the conversion of data from the format used by the host computer system to the format used by a particular printer. Typically, the computer data is translated into a bit-map where each bit represents a dot on the printed page. The bit-map is generated within the host computer system and transferred to the printer in compressed data format. The compressed bit-map is expanded and transferred to a print engine, which is the name for the device that receives the bit-map data and converts it into the appropriate voltages to create a printed image. Some printer systems use large memories in the printer so that the host computer system can transfer the description for an entire printed page using an intermediate level printer language. The printer processes the entire page into a single bit-map data file.
The printed page is comprised of individual dots, called pixels. On a typical laser printer, there may be 300, 600, or more pixels per inch. Each pixel is usually represented by a single data bit in the printer memory. As the laser print engine scans a line, the data bits corresponding to that line are read and the laser beam turns on or off depending on the logic level of the data bit stored in that memory location. At a resolution of 300 pixels per inch, a printer requires approximately one megabyte of memory to store the bit-map data file for an entire page. As previously mentioned, some laser printers contain large memories to enable them to store an entire page. If a color laser printer is used, there can be as many as 24 bits per pixel to represent the various shades of color and intensities. Thus, a color laser printer would require 24 megabytes of memory to store an entire page.
To reduce the memory requirements of the printer, computers and printers of the prior art commonly use a technique known as banding. Banding involves breaking a printed page up into a number of horizontal segments or bands of a selected band size. It should be noted that the term horizontal refers to the orientation of the bands as referenced to the leading edge of the page as the page moves into the printer. The host computer system transfers the bit-map data file to the printer one band at a time. Because the band is smaller than an entire page, there is a corresponding decrease in the printer memory required to print a band. For example, a page, identified by reference numeral 2 in FIG. 1, may typically be broken down into sixteen bands 4a-4p of equal size. The printer memory requirements would be reduced by a factor of sixteen. The arrow 6 indicates the direction of movement of the leading edge of the page into the printer (not shown).
The trade-off is that the printing process takes longer. In systems of the prior art, a data file to be printed is stored in a file, typically called a metafile. The metafile contains the data for the entire page to be printed. To process the data for printing, the entire metafile is processed and converted into a bit-map format suitable for printing by the print engine. The systems of the prior art capture only that portion of the bit-map data that is needed for the particular band currently being printed and throws out the rest of the file. For example, the system processes the entire metafile into a bit-map data and prints the first band 4a of FIG. 1. The system only stores the bit-map data for the first band 4a, and does not retain the bit-map data for any other band. The system must then reprocess the entire metafile and take the bit-map data for the next band 4b to be printed, again throwing out everything else. In the case of a printer with sixteen bands, the systems of the prior art must process the metafile sixteen times in order to produce a single page. Computers do not store the entire bit-map data file in memory for the same reason that printers do not; namely the large amount of memory required to store a single page. Computers generally do not store the entire bit-map data file on a disk storage unit because the disk access and transfer times are unacceptably long.
While memory requirements have been reduced through the use of banding, the processing time has been drastically increased. Therefore, it can be appreciated that there is a significant need for a system and method of banding that will require less memory, but will not cause an increase in data processing time.